Using the SPARK Toolset for Showing the Absence of Run-Time Errors in Safety-Critical Software
نویسندگان
چکیده
This paper reports the results of a study into the effectiveness of the SPARK toolset for showing the absence of run-time errors in safety-critical Ada software. In particular, the toolset is examined to determine how effective it is in finding run-time errors in a SPARK program, and how much of the process of proving freedom from run-time errors can be performed automatically. The study identifies areas where automatic run-time checks are not so effective and, where possible, gives recommendations about the design of the software so that the toolset is as effective as possible in automatically proving absence of run-time errors. The results will be of interest to anyone contemplating the use of the SPARK toolset for ensuring the absence of run-time errors, both as guidance in planning the effort required, and for practical advice on making the best use of the toolset.
منابع مشابه
Automation for Exception Freedom Proofs
Run-time errors are typically seen as unacceptable within safety and security critical software. The SPARK approach to the development of high integrity software addresses the problem of run-time errors through the use of formal verification. Proofs are constructed to show that each run-time check will never raise an error, thus proving freedom from run-time exceptions. Here we build upon the s...
متن کاملA (Very) Short Introduction to SPARK: Language, Toolset, Projects, Formal Methods & Certification
Guidelines for the development of software in safety-critical systems usually restrict programming languages, removing features that are unsafe and/or hard to thoroughly test and certify. There are also recommendations and demands in newer guidelines for the use of formal methods, as a way to achieve high assurance software. SPARK is a strict subset of Ada that was designed to have unambiguous ...
متن کاملProposing an Efficient Software-Based Method for Enhancing the Reliability of Critical Application Robot
Robots play such remarkable roles in humans’ modern lives that performing many tasks without them isimpossible. Using robotic systems is gradually increasing the tasks allocated to them and they are becomingmore complex and critical. Software reliability is one of the most significant requirements of robots. Forenhancing reliability, systems should be inherently designed to be tolerable of soft...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملComparison of Two Human Error Evaluation Techniques (HET and SHERPA) in Gas Supply Operations using AHP
Introduction: The development of residential and industrial areas has led to increasing gas consumption and overcrowding in gas supply networks. Accordingly, hazards and risks caused by human errors, processing and mechanical failures in pipelines, and gas leaks are on a rise. Several techniques have been so far proposed for identifying and controlling human errors. The main purpose of this stu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001